package top.shen33.yang.base.cron;


import com.google.common.eventbus.EventBus;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.Date;

@Component
public class ScheduledTask {


    @Autowired
    private EventBus eventBus;

    private Logger logger = LoggerFactory.getLogger(ScheduledTask.class);
    /**
     * 5s 执行一次
     */
    @Async("scheduledPoolTaskExecutor")
    @Scheduled(fixedRate = 30000)
    public void getCurrentDate(){


        logger.info(new Date().toString());

        eventBus.post("apple-"+System.currentTimeMillis());
    }


    /**
     * 0/1 * * * * ?：每秒执行一次
     0 0 2 1 * ? ： 表示在每月的1日的凌晨2点调整任务
     0 0 10,14,16 ? ：每天上午10点，下午2点，4点
     0 0 12 * * ? ： 每天中午12点触发
     0 15 10 ? * MON-FRI ： 周一至周五的上午10:15触发
     */
    @Scheduled(cron = "0 0 12 * * ? ")
    public void doJob(){


        logger.info(new Date().toString());
    }
}
